package com.urbane.search;

import com.urbane.search.entity.ProductDocument;
import com.urbane.search.mapper.ProductMapper;
import jakarta.annotation.Resource;
import org.dromara.easyes.core.conditions.index.LambdaEsIndexWrapper;
import org.junit.jupiter.api.Test;

public class IndexTest {

    @Resource
    private ProductMapper productMapper;

    /**
     * 根据实体及自定义注解一键创建索引
     * return: Boolean
     */
    @Test
    public void testCreateIndexByEntity() {
        // 然后通过该实体类的mapper直接一键创建,非常傻瓜级
        productMapper.createIndex();
    }

    /**
     * 获取索引信息
     * return: GetIndexResponse
     */
    @Test
    public void testGetIndexByEntity() {
        // 然后通过该实体类的mapper直接一键创建,非常傻瓜级
        productMapper.getIndex();
    }

    /**
     * 更新索引
     * return: Boolean
     */
    @Test
    public void testUpdateIndexByEntity() {
        LambdaEsIndexWrapper<ProductDocument> indexWrapper = new LambdaEsIndexWrapper<>();
        // 然后通过该实体类的mapper直接一键创建,非常傻瓜级
        productMapper.updateIndex(indexWrapper);
    }

    /**
     * 删除索引
     * return: Boolean
     */
    @Test
    public void testDeleteIndexByEntity() {
        productMapper.deleteIndex();
    }

    /**
     * 判断索引是否存在
     * return: Boolean
     */
    @Test
    public void testExistsIndexByName() {
        // 创建索引
        productMapper.existsIndex("product");
    }
}
